package com.ryx.mapper;

import com.ryx.entity.SysUser;
import com.ryx.vo.req.UserPageReqVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysUserMapper {
    int deleteByPrimaryKey(String id);

    int insert(SysUser record);

    int insertSelective(SysUser record);

    //通过id查询用户
    SysUser selectByPrimaryKey(String id);

    //更新用户信息
    int updateByPrimaryKeySelective(SysUser record);

    int updateByPrimaryKey(SysUser record);

    SysUser selectByUsername(String username);

//    List<SysUser> selectAll();


    List<SysUser> selectAll(UserPageReqVo vo);

    //删除用户 或者批量删除  后端接口就把两个功能设计成一个接口了，而且用户属于敏感数据，一般制作逻辑删除不做物理删除。
    //标记这所删除的用户，不让它在登录。
    int deletedUsers(@Param("sysUser") SysUser sysUser,@Param("list") List<String> list);


    //根据部门id集合查询用户
    List<SysUser> selectUserInfoByDeptIds(List<String> deptIds);
}